/**
 * 处理浮点数
 *  @param num 待处理数字
 *  @param digit 保留小数位，默认3
 */
export function toFixed(num: number, digit = 2) {
  const scale = 10 ** digit;
  return Math.floor(num * scale) / scale;
}

/**
 * 获取随机整数
 * @param min 随机范围起始数
 * @param max 随机范围结束数
 */
export const randInt = (min: number, max: number) =>
  Math.floor((max - min + 1) * Math.random()) + min;

/**
 * 发送消息给父窗口
 * @param data 消息内容
 */
export function sendMsg(data: Msg) {
  // 获取父页面的窗口对象
  const parentWindow = window.parent;
  // 发送消息到父页面
  console.log("sendMsg", data);
  parentWindow.postMessage(data, "*"); // '*' 表示接受任何来源的消息，建议使用具体的源
}
type Msg = {
  action: "pop" | "close" | "link" | "page";
  content: { id: number; name: string };
};
/**
 * 接受父窗口信息
 */
export function handleMsg(handler: (data: MessageEvent<Msg>) => void) {
  window.addEventListener("message", handler);
}
